Determining a frequency for propulsor engine communication sessions

ABSTRACT

In some examples, a system includes a propulsor engine and a controller configured to determine a frequency for a new communication session on a communication channel based on a frequency of a previous communication session, wherein the frequency for the new communication session is different than the frequency of the previous communication session. In some examples, the controller is further configured to establish the new communication session via the communication channel with the propulsor engine. In some examples, the controller is also configured to exchange information with the propulsor engine at the frequency for the new communication session via the communication channel.

TECHNICAL FIELD

This disclosure relates to control systems for propulsor engines.

BACKGROUND

A propulsor engine (e.g., of a vehicle system) may include a controllerconfigured to control the operations of the propulsor engine, and insome cases, the operations of components, such as sensors, actuators,and data collection devices, associated with the propulsor engine. Thecontroller may communicate with the propulsor engine and the componentsby transmitting control signals on an open, unsecure communicationchannel. If an attacker or other such unauthorized user knows thefrequency of the communication channel, the attacker may be able tosnoop on or even interfere with the control signals being sent via thecommunication channel thereby potentially impacting the operations ofthe propulsor engine and the components of the propulsor engine.

SUMMARY

In some examples, the disclosure describes a system includes a propulsorengine and a controller configured to determine a frequency for a newcommunication session on a communication channel based on a frequency ofa previous communication session, wherein the frequency for the newcommunication session is different than the frequency of the previouscommunication session. The controller is further configured to establishthe new communication session via the communication channel with thepropulsor engine. The controller is also configured to exchangeinformation with the propulsor engine at the frequency for the newcommunication session via the communication channel.

In some examples, the disclosure describes a method includingdetermining a frequency for a new communication session on acommunication channel based on a frequency of a previous communicationsession, wherein the frequency for the new communication session isdifferent than the frequency of the previous communication session. Themethod further includes establishing the new communication session viathe communication channel with a propulsor engine. The method alsoincludes exchanging information with the propulsor engine at thefrequency for the new communication session via the communicationchannel.

In some examples, the disclosure describes a system including apropulsor engine, a component, and a controller configured to exchangeinformation with the propulsor engine during a first previouscommunication session via a first communication channel. The controlleris further configured to exchange information with the component duringa second previous communication session via a second communicationchannel. The controller is also configured to power off the propulsorengine after exchanging information with the propulsor engine during thefirst previous communication session and after exchanging informationwith the component during the second previous communication session. Thecontroller is configured to power on the propulsor engine after poweringoff the propulsor engine and determine a frequency for the first newcommunication session on the first communication channel based on afrequency of a first previous communication session, wherein thefrequency for the first new communication session is different than thefrequency of the first previous communication session. The controller isfurther configured to determine a frequency for the second newcommunication session on the second communication channel based on afrequency of a second previous communication session, wherein thefrequency for the second new communication session is different than thefrequency of the second previous communication session. The controlleris also configured to exchange information with the propulsor engine atthe frequency for the first new communication session via the firstcommunication channel and exchange information with the component at thefrequency for the second new communication session via the secondcommunication channel.

The details of one or more examples are set forth in the accompanyingdrawings and the description below. Other features, objects, andadvantages will be apparent from the description and drawings, and fromthe claims.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a conceptual block diagram illustrating a controllerconfigured to control operations of a propulsor engine, in accordancewith one or more techniques of this disclosure.

FIG. 2 is a conceptual block diagram illustrating details of an examplecontroller and an example propulsor engine, in accordance with one ormore techniques of this disclosure.

FIG. 3 is a flowchart illustrating an example process implemented by acontroller to control the operations of a propulsor engine, inaccordance with one or more techniques of this disclosure.

FIG. 4 is a flowchart illustrating an example process implemented by acontroller for communicating with a propulsor engine and/or one or morecomponents of the propulsor engine, in accordance with one or moretechniques of this disclosure.

DETAILED DESCRIPTION

In general, this disclosure describes techniques for establishing securecommunication channels between a controller of a propulsor engine andcomponents of the propulsor engine (including internal and external orauxiliary components of the propulsor engine) by changing the frequencythat is used for each communication session between the controller andthe components of the propulsor engine (e.g., each time the propulsorengine is powered-on, or at other suitable times). The controller andthe components of the propulsor engine may be configured to exchangeinformation via a communication channel, such as a wired connectionand/or a wireless connection. The controller may be configured todetermine the frequency for a new communication session that isdifferent from, but based on, the frequency used for a previouscommunication session.

In this way, if an attacker or other such unauthorized user knows thefrequency of a previous communication session, the techniques of thisdisclosure may enable the controller to prevent the attacker fromsnooping on or interfering with a new or current communication session.In other words, the attacker may be unable to snoop on or interfere withthe information being exchanged between the controller and the propulsorengine because the controller will have changed the frequency for thecurrent communication session so that the frequency is based on, butdifferent than the frequency of the previous communication session.

FIG. 1 is a conceptual block diagram illustrating a controller 120configured to control operations of a propulsor engine 110, inaccordance with one or more techniques of this disclosure. In someexamples, system 100 may include additional propulsor engines additionalcontrollers, and/or one or more components of the propulsor engines. Insome examples, a single controller (e.g., controller 120) may beconfigured to control operations of multiple propulsor engines andmultiple components, or system 100 may include more than one controller.The propulsion created by propulsor engine 110 may be used in a varietyof ways or for a variety of systems and applications (e.g., aircraft,locomotives, marine craft, power plants, electric generators, and any orall other systems and applications that rely on mechanical energy from apropulsor engine to perform work).

Propulsor engine 110 may be configured to generate propulsion byconverting fuel or electrical power to mechanical power. Propulsorengine 110 may be configured to periodically power on to generatepropulsion and power off between operations. In some examples, propulsorengine 110 may include one or more internal components, such as aninterface for exchanging information with controller 120, a memorydevice configured to store information exchanged with controller 120,and/or other components that are not shown in FIG. 1. In some examples,propulsor engine 110 may include a turbine, a shaft, a compressor, acombustor, a generator, and/or any other internal components forgenerating propulsion and/or electricity. Propulsor engine 110 may be agas turbine engine, a nuclear turbine engine, a steam turbine engine,internal combustion engine, Wankel engine, diesel engine, rotary engine,and/or any other suitable propulsor engine.

In some examples, system 100 is a vehicle, and propulsor engine 110 andcontroller 120 may be mounted on or within the vehicle. For example,propulsor engine 110 may include a turbine engine mounted as a centerengine on an aircraft, a marine vehicle, or a tank. In some examples,propulsor engine 110 may include a turbine engine mounted on a wing ofan aircraft or a marine vehicle. If the vehicle includes more than onepropulsor engine, controller 120 may be a central controller configuredto control the operations of all of the propulsor engines mounted on thevehicle, or controller 120 may be configured to control the operationsof only propulsor engine 110.

Controller 120 may be configured to determine a frequency for the newcommunication session through communication channel 130 based on afrequency of a previous communication session. For example, controller120 may be configured to determine the frequency for the newcommunication session based on an algorithm. In some examples,controller 120 may be configured to choose a seed to input in thealgorithm. Controller 120 may be configured to transmit the chosen seedto propulsor engine 110 at the beginning of the new communicationsession, and propulsor engine 110 may be configured to determine the newfrequency based on the seed and the algorithm.

Controller 120 may be configured to establish a communication sessionvia communication channel 130 with components of propulsor engine 110.In some examples, controller 120 may be configured to establish a newcommunication session when propulsor engine 110 powers on. In someexamples, controller 120 may be configured to power on propulsor engine110 by controlling a starting device to initiate the operation ofpropulsor engine 110. Controller 120 may be configured to initiate thenew communication session at a new frequency determined by controller120. In some examples, controller may be configured to initiate the newcommunication session at the frequency of a previous communicationsession before controller 120 determines a new frequency. Controller 120may also be configured to terminate or conclude the communicationsession when propulsor engine 110 powers off.

In some examples, controller 120 may be configured to cycle through aset list of frequencies that is stored to a memory device. Controller120 may be configured to iterate through the set list for eachcommunication session. For example, an entry on the set list for thefrequency for the new communication session may immediately follow theentry for the frequency of the previous communication session. In someexamples, propulsor engine 110 may be configured to store the algorithmand/or set list so that propulsor engine 110 may decode the informationtransmitted by controller 120 to propulsor engine 110.

Controller 120 may be configured to exchange information with propulsorengine 110 at the frequency for the new communication session viacommunication channel 130. Controller 120 may be configured to exchangeinformation 140 by at least transmitting control signals to propulsorengine 110 to control the operations of propulsor engine 110. Forexample, controller 120 may be configured to cause propulsor engine 110to generate more or less propulsion, to increase or decrease rotationalspeed, power on, or power off. Controller 120 may be configured tocontrol the operation of propulsor engine 110 by controlling theoperation of components of propulsor engine 110, such as actuators,starter devices, servos, and so on. Controller 120 may be configured toreceive information 140 such as fuel flow level(s), enginetemperature(s), engine pressure(s), and maintenance information frompropulsor engine 110. Controller 120 may be configured to receiveinformation 140 from components such as sensors, data collectiondevices, and so on.

In some examples, propulsor engine 110 and controller 120 may exchangeinformation 140 at a frequency during a previous communication sessionvia communication channel 130. Controller 120 may be configured toconclude the previous communication session by powering off propulsorengine 110 after exchanging information 140 during the previouscommunication session. Controller 120 may be configured to power offpropulsor engine 110 by transmitting control signals to propulsor engine110 and/or actuators in propulsor engine 110 to cause the speed ofpropulsor engine 110 to reduce to zero. After powering off propulsorengine 110, controller 120 may be configured to power on propulsorengine 110 and establish a new communication session via communicationchannel 130. Controller 120 may be configured to determine a frequencyfor the new communication session and exchange information 140 at thenew frequency during the new communication session after powering offpropulsor engine 110.

Controller 120 may include any suitable arrangement of hardware,software, firmware, or any combination thereof, to perform thetechniques attributed to controller 120 herein. Examples of controller120 include any one or more microprocessors, digital signal processors(DSPs), application specific integrated circuits (ASICs), full authoritydigital engine control (FADEC) units, engine control units (ECUs), fieldprogrammable gate arrays (FPGAs), and/or any other equivalent integratedor discrete logic circuitry, as well as any combinations of suchcomponents. When controller 120 includes software or firmware,controller 120 further includes any necessary hardware for storing andexecuting the software or firmware, such as one or more processors orprocessing units. In some examples, controller 120 may be integratedwith the control unit for propulsor engine 110, which may include aFADEC unit.

In general, a processing unit may include one or more microprocessors,DSPs, ASICs, FPGAs, or any other equivalent integrated or discrete logiccircuitry, as well as any combinations of such components. Although notshown in FIG. 1, controller 120 may include a memory device configuredto store data. The memory device may include any volatile ornon-volatile media, such as a random access memory (RAM), read onlymemory (ROM), non-volatile RAM (NVRAM), electrically erasableprogrammable ROM (EEPROM), flash memory, and the like. In some examples,the memory device may be external to controller 120 (e.g., may beexternal to a package in which controller 120 is housed).

Communication channel 130 may include a wired connection such as anoptical fiber cable and/or a metal wire between propulsor engine 110 andcontroller 120. In some examples, communication channel 130 may includea controller area network (CAN) bus, an ethernet cord, coaxial cables,digital subscriber line (DSL), and/or any other physical connection.Communication channel 130 may include an optical fiber cable made ofsilicon, fluoride glass, phosphate glass, chalcogenide glass, and/orsapphire, a copper wire, an aluminum wire, a nickel wire, a steel wire,and/or any other material configured to conduct signals or transferinformation 140.

Additionally or alternatively, communication channel 130 may include awireless connection, such as Bluetooth, infrared, radio frequency (RF),and/or microwave signals, across a medium such as air. Propulsor engine110 and controller 120 may be configured to establish a wirelessconnection across communication channel 130 during each communicationsession by transmitting and receiving wireless signals. When propulsorengine 110 and/or controller 120 are powered off, a wireless componentof communication channel 130 may cease to exist until propulsor engine110 and/or controller 120 are powered on again.

In some examples, a wireless connection between propulsor engine 110 andcontroller 120 may be susceptible to snooping and/or frequency jammingby nearby devices and systems. An attacker may intentionally orunintentionally interfere with the wireless signals across communicationchannel 130 in order to disrupt the flow of information 140. System 100may be especially vulnerable to interference if system 100 is mounted ona vehicle such as an aircraft. The aircraft may travel through areaswith varying degrees of electromagnetic interference and noise.Moreover, attackers may specifically target aircraft, especiallymilitary aircraft and commercial airliners, to intentionally jam orsnoop on wireless communications between propulsor engine 110 andcontroller 120.

Information 140 may include data encoded in electromagnetic signalsand/or optical signals conducted over an optical fiber, a metal wire,and/or a wireless medium such as air. The electromagnetic signals and/oroptical signals may encode information 140 using amplitude modulation,frequency modulation, a form of digital modulation, and/or another formof encoding. Information 140 may include control signals transmitted bycontroller 120 to propulsor engine 110 to control the operations ofpropulsor engine 110. Information 140 may include data indicating thestatus of propulsor engine 110 transmitted from propulsor engine 110 tocontroller 120.

Propulsor engine 110 and controller 120 may be configured to exchangeinformation 140 over communication channel 130 using a protocol orencoding, such as Aeronautical Radio, Incorporated (ARINC) standard 429or ARINC standard 629, time-triggered ethernet, a CAN protocol, and/orany other suitable protocol. Propulsor engine 110 and controller 120 maybe configured to encode information 140 based on the protocol into a bitstream or an analog signal and transmit the signal across communicationchannel 130. Propulsor engine 110 and controller 120 may also beconfigured to decode information 140 received from communication channel130 based on the protocol. In some examples, information 140 may use adigital protocol (e.g., shift-keying) or an analog protocol (e.g.,modulation) to encode information 140 in electromagnetic signals and/oroptical signals.

In accordance with the techniques of this disclosure, controller 120 maybe configured to determine a frequency for a new communication sessionbased on the frequency during a previous communication session. The newfrequency may be different than the previous frequency in order toimpede snooping, interference, and/or jamming. For example, controller120 may use an algorithm and/or a random number seed to determine a newfrequency, or controller 120 may read a set list of frequencies that isstored to a memory device. In order to establish communication channel130, each of propulsor engine 110 and controller 120 may be configuredto determine the new frequency before exchanging information 140 duringthe new communication session. For example, propulsor engine 110 andcontroller 120 may be configured to synchronize the frequencies of theirtransmissions before exchanging information 140 during the newcommunication session. In some examples, propulsor engine 110 and/orcontroller 120 may be configured to scan a predetermined frequency bandon communication channel 130 for signals transmitted by propulsor engine110 or controller 120.

Controller 120 and propulsor engine 110 may use frequency-hopping and/orrolling-code technology to prevent an attacker from observing theexchange of information 140 during a first communication session andsnooping on the exchange of information 140 during a later communicationsession. After the end of a first communication session, controller 120and propulsor engine 110 may be configured to use the same original seedand the same algorithm, which may include a number generator, todetermine a new frequency. Controller 120 and propulsor engine 110 mayalso be configured to determine more than one frequency in the future incase the other device (e.g., controller 120 or propulsor engine 110)skips a frequency in the algorithm or set list.

As an example, controller 120 may use a seed equal to a value of one todetermine a frequency for a first communication session with propulsorengine 110. Controller 120 may share the seed with propulsor engine 110,and both propulsor engine 110 and controller 120 may apply the seed to apseudorandom number generator and use the generated number to determinea frequency. Equation (1) is one possible equation for determining afrequency based on a pseudo-randomly, or randomly, generated number Nbetween zero and one, wherein f_(max) and f_(min) are the maximum andminimum frequencies of a frequency band. In some examples, controller120 may be configured to store a set list, where the entries of the setlist are values of N for controller 120 to use for communicationsessions. Each component of system 100, or each component type ofsystem, may have a predetermined frequency band with a maximum frequencyand a minimum frequency. Equation (1) scales or stretches the generatednumber N, which may have a value between zero and one, to a frequencybetween the maximum frequency and a minimum frequency.

new frequency=f _(min) +N×(f _(max) −f _(min))   (1)

During the next communication session, controller 120 may be configuredto increment the seed to a value of two. Controller 120 may then beconfigured to apply the new seed to the pseudorandom number generatorand use the generated number and Equation (1) to determine a newfrequency. In some examples, controller 120 may be configured todetermine a new seed based on a method other than incrementing theprevious seed. For example, controller 120 may be configured to useEquation (2) to generate a new seed (k_(i)) based on a previous seed(k_(i−1)). C is a constant that may be equal to two, three, or any otherinteger.

k _(i)=(k _(i−1) ×C)−1   (2)

If the new seed is greater than a threshold, controller 120 may beconfigured to reset the value of the new seed to a predetermined value,such as one, before applying the new seed to the pseudorandom numbergenerator. Controller 120 may also be configured to transmit the newseed to propulsor engine 110 at the beginning of a new communicationsession using the frequency of the previous communication session.Propulsor engine 110 may be configured to determine the new frequencybased on the new seed received from controller 120 and an algorithm thatincludes the pseudorandom generator and Equation (1). For the remainderof the new communication session, propulsor engine 110 and controller120 may exchange information at the new frequency. Table I shows seeds,generated numbers, and frequencies for four communication sessions basedon a minimum frequency of four hundred megahertz, a maximum frequency offive hundred megahertz, and C equals three.

TABLE I Four example communication sessions. Session k N f (MHz) 1 10.6818 468.18 2 2 0.4186 441.86 3 5 0.3381 433.81 4 14 0.9248 492.48

In some examples, controller 120 may be configured to transmit, at thebeginning of a new communication session, control signals to propulsorengine 110 at the frequency of a previous communication session.Propulsor engine 110 may be configured to respond to the control signalsby transmitting an acknowledgement signal to controller 120. Propulsorengine 110 and controller 120 may then be configured to begin exchanginginformation 140 during the new communication session at a new frequencybased on an algorithm or an established list of frequencies. Ifcontroller 120 does not receive an acknowledgement signal from propulsorengine 110, which may occur if propulsor engine 110 transmit anacknowledgement signal at a different frequency, then controller 120 maybe configured to set a bit indicating a failure mode. Controller 120 maybe configured to set the bit in a status register and report the bit toa diagnostic device through a maintenance port, as explained in furtherdetail below.

FIG. 2 is a conceptual block diagram illustrating details of an examplecontroller 220 and an example propulsor engine 210, in accordance withone or more techniques of this disclosure. Propulsor engine 210 andcontroller 220 may be configured to exchange information 240A viacommunication channel 230A and via interface 226A. System 200 may alsoinclude diagnostic device 250 configured to receive diagnosticinformation from controller 220 via maintenance port 228. System 200also includes 260 configured to exchange information 240B withcontroller 220 via communication channel 230B and via interface 226B.

Propulsor engine 210 may include a memory device 212, controller 220 mayinclude a memory device 222, and component 260 may include memory device262. Memory devices 212, 222, and 262 may be configured to store datarelating to the performance of propulsor engine 210, such astemperatures, pressures, speeds, fuel flow rates, vibration, other“health” characteristics for prognostic purposes, and the like. Memorydevices 212, 222, and 262 may also be configured to store an algorithmfor determining a new frequency or a set list of frequencies to cyclethrough for each communication session. Memory device 222 may beconfigured to store a master set list for all devices in communicationwith controller 220 or a separate set list for each device that is incommunication with controller 220.

Propulsor engine 210 and/or component 260 may be configured to request aseed (e.g., a number) from controller 220 at the beginning of acommunication session. Controller 220 may be configured to transmit aseed to propulsor engine 210 and/or component 260 in response to therequest(s). Propulsor engine 210 and/or component 260 may be configuredto input the seed into the algorithm to generate a new frequency for theexchange of information 240A and/or 240B.

Propulsor engine 210 may be configured to exchange information 240A withcontroller 220 during a previous communication session. The previouscommunication session may end when controller 220 powers off propulsorengine 210. After controller 220 subsequently powers on propulsor engine210 after powering off propulsor engine 210, propulsor engine 210 may beconfigured to determine a frequency for a new communication session oncommunication channel 230A based on the frequency of the previouscommunication session and an algorithm. In some examples, propulsorengine 210 may be configured to receive a seed number from controller220 at the beginning of the new communication session at the previousfrequency.

Propulsor engine 210 may be configured to determine the new frequencybased on the seed number and the algorithm, which may include a randomor pseudorandom number generator. Propulsor engine 210 may be configuredto exchange information 240A with controller 220 at the frequency forthe new communication session via communication channel 230A and decodeinformation 240A received from controller 220 based on the frequency forthe new communication session. Component 260 may be configured todetermine frequencies, exchange information 240B, and decode information240B in a similar manner to propulsor engine 210.

Interfaces 226A and 226B may include a pin, a lead, an optical port,and/or any other type of interface between controller 220 andcommunication channels 230A and 230B. Communication channels 230A and230B may include a wired connection such as an optical fiber cableand/or a metal wire between propulsor engine 210 and controller 220. Insome examples, communication channels 230A and 230B may include a pad ortrace on a printed circuit board (PCB), and interfaces 226A and 226B mayinclude a pin that is configured to be soldered to the pad or trace. Insome examples, interfaces 226A and 226B may include a laser, a lightemitting diode (LED), a photodiode, a photoresistor, and/orphoto-acceptance unit configured to convert between electrical signalsand optical signals. In some examples, interfaces 226A and 226B mayinclude an antenna configured to transmit and/or receive wirelesselectromagnetic signals.

Processing circuitry 224 may include integrated circuitry with digitallogic or analog circuitry configured to determine a frequency for a newcommunication session on communication channel 230A or 230B based on afrequency of a previous communication session. Processing circuitry 224may be configured to encode information 240A in the frequency for thecurrent communication session over communication channel 230A.Processing circuitry 224 may also be configured to encode information240B in the frequency for the current communication session overcommunication channel 230B. Processing circuitry 224 may be configuredto determine new frequencies based on previous frequencies and analgorithm, a set list, a random number seed, and/or any other method ofdetermining a new frequency. In some examples, processing circuitry 224may be configured to determine a seed at the start of a newcommunication session and transmit the seed to the follower device(i.e., propulsor engine 210 or component 260.

Diagnostic device 250 may be configured to receive diagnosticinformation from maintenance port 228 of controller 220 by at leasttransmitting a request for diagnostic information to controller 220. Thediagnostic information may indicate the operations of propulsor engine210 and controller 220. A maintenance worker may use diagnostic device250 to troubleshoot issues with propulsor engine 210 and download data.The data may include communication faults, failure mode bits, and/orother status bits and status information regarding the operation ofpropulsor engine 210 and/or component 260. The maintenance worker mayalso use diagnostic device 250 to test the performance of propulsorengine 210 and/or controller 220.

The request received by maintenance port 228 from diagnostic device 250for diagnostic information may include a passcode, such as a four-digitnumber. An authorized maintenance worker may operate diagnostic device250, or an attacker may operate diagnostic device 250 to snoop on orhack into controller 220. Controller 220 may be configured to receivethe request for diagnostic information from diagnostic device 250, wherethe diagnostic information indicates the operations of propulsor engine210. Controller 220 may be further configured to confirm that thepasscode in the request matches a security code for controller 220 thatmay be stored in memory device 222. Controller 220 may be configured totransmit the requested diagnostic information through maintenance port228 to diagnostic device 250 in response to confirming that the passcodematches the security code.

An attacker may use diagnostic device to snoop on the operations ofpropulsor engine 210 and/or controller 220. If the attacker sends arequest with an incorrect passcode from diagnostic device 250 tomaintenance port 228, controller 220 may be configured to reject therequest in response to determining that the passcode in the request doesnot match the security code. Controller 220 may be configured to set abit indicating unauthorized access attempts in response to receiving athreshold number of consecutive requests with incorrect passcodes or athreshold number of requests in a threshold time duration.

Component 260 may include a component that controls the operation ofpropulsor engine 210 (i.e., a controlling component), such as anactuator or a servo. Additionally or alternatively, component 260 mayinclude a sensor or a data collection device, which may be referred toas “non-controlling components.” Component 260 may be positioned insidepropulsor engine 210 (i.e., an internal component) and/or positionedoutside propulsor engine 210 (i.e., an external component or auxiliarycomponent). A sensor may be configured to sense various parameters ofthe operation of propulsor engine 210, such as a temperature, apressure, a speed, a movement or a deflection, and/or any otherparameters of system 200 and/or propulsor engine 210. Controller 220 maybe configured to monitor the performance of propulsor engine 210 basedon information 240B received from a sensor or data collection device. Adata collection device may be configured to measure or track theperformance of propulsor engine 210 by counting the times that theperformance exceeds or fails to meet a threshold. A data collectiondevice may include a camera configured to collect images of propulsorengine 210.

An actuator may be configured to move a part of system 200 and/orpropulsor engine 210, such as a piston, a transmission, a gearbox,valves such as air bleed valves, and/or any other part of system 200. Insome examples, an actuator of component 260 may be configured to changethe geometry of propulsor engine 210 by moving the vanes of a compressoror a turbine of propulsor engine 210. An actuator of component 260 maybe configured to change a nozzle exhaust area and/or control the flow offuel by fluid servo valve actuation.

Component 260 may communicate with controller 220 via communicationchannel 230B within a predetermined frequency band, where thepredetermined frequency band is particular to each component 260 or toeach component type. For example, if component 260 includes a sensortype component, controller 220 may be configured to determine afrequency for a new communication session to exchange information 240Bwith the sensor in a predetermined frequency band ranging from threehundred megahertz to four hundred megahertz. Whereas, if component 260includes an actuator type component, controller 220 may be configured todetermine a frequency for a new communication session to exchangeinformation 240B with the actuator in a predetermined frequency bandranging from six megahertz to seven megahertz. Controller 220 may alsobe configured to determine the frequency for a communication sessionwith propulsor engine 210 in a predetermined frequency band.

Component 260 may be configured to determine a frequency for a newcommunication session on communication channel 230B based on a frequencyof a previous communication session and an algorithm or set list storedto memory device 262. In some examples, component 260 may be configuredto scan a predetermined frequency band for control signals transmittedby controller 220 to component 260. In response to component 260receiving information 240B from controller 220 at the beginning of acommunication session, component 260 may be configured to transmit anacknowledgement signal to controller 220. Controller 220 may beconfigured to set a bit in memory device 222 to indicate a failure modein response to not receiving the acknowledgement signal from component260. In some examples, controller 220 may be configured to set a timerat the beginning of a communication session. If the timer expires beforecontroller 220 receives an acknowledgement signal from component 260 orpropulsor engine 210, controller 220 may be configured to set a bit inmemory device 222 to indicate a failure mode for the respective devicethat failed to acknowledge communications.

Component 260 may be configured to exchange information 240B withcontroller 220 at a first frequency during a previous communicationsession. Component 260 may be configured to determine a second frequencyfor a new communication session on communication channel 230B based onthe first frequency and an algorithm and/or a set list stored to memorydevice 262. Component 260 may be configured to exchange information 240Bwith controller 220 at the second frequency via communication channel230B and decode information 240B received from controller 220 based onthe second frequency for the new communication session.

FIG. 3 is a flowchart illustrating an example process implemented by acontroller to control the operation of a propulsor engine, in accordancewith one or more techniques of this disclosure. Operations 302-306 aredescribed in the context of system 100 and controller 120 of FIG. 1,although other controllers, such as controller 220 of FIG. 2 may performsimilar operations.

In the example of FIG. 3, controller 120 determines a frequency for thenew communication session on communication channel 130 based on afrequency of a previous communication session (300). The frequency forthe new communication session may be different than the frequency of theprevious communication session. For example, controller 120 may beconfigured to determine the frequency for the new communication sessionbased on the previous frequency and an algorithm or a set list. In someexamples, controller 120 may be configured to choose a seed anddetermine the new frequency based on the previous frequency and/or theprevious seed. In some examples, controller 120 may be configured totransmit the seed to propulsor engine 110 at the beginning of the newcommunication session using the previous seed. Propulsor engine 110 maybe configured to independently determine the new frequency based on theseed and the algorithm, which may be stored to a memory device inpropulsor engine 110.

In the example of FIG. 3, controller 120 establishes a new communicationsession via communication channel 130 with propulsor engine 110 (302).In some examples, controller 120 may be configured to establish a newcommunication session when propulsor engine 110 powers on. In someexamples, controller 120 may be configured to power on propulsor engine110 by controlling a starting device to initiate the operation ofpropulsor engine 110. Controller 120 may be configured to initiate thenew communication session at a new frequency determined by controller120. In some examples, controller may be configured to transmit signalsat the frequency of a previous communication session at the beginning ofthe new communication session before determining a new frequency.Controller 120 may also be configured to terminate or conclude the newcommunication session when propulsor engine 110 powers off.

In the example of FIG. 3, controller 120 exchanges information 140 withpropulsor engine 110 at the frequency for the new communication sessionvia communication channel 130 (306). Controller 120 may be configured toexchange information 140 by at least transmitting control signals topropulsor engine 110 to control the operations of propulsor engine 110.For example, controller 120 may be configured to cause propulsor engine110 to generate more or less propulsion, to increase or decreaserotational speed, power on, or power off. Controller 120 may beconfigured to receive information 140 such as fuel flow level(s), enginetemperature(s), engine pressure(s), and maintenance information frompropulsor engine 110.

FIG. 3 has described the operation of controller 120 and system 100 ingeneral. In some examples, system 100 may include one or more componentsconfigured to sense various parameters of the operations of propulsorengine 110 and/or move a part of propulsor engine 110. Controller 120may be configured to establish a new communication session with eachcomponent when propulsor engine 110 powers on. Controller 120 may beconfigured to determine a unique new frequency for each component basedon a unique algorithm or unique set list of frequencies.

In some examples, the devices of system 100 may be configured to operatein a default communication state in case of a system failure. One ormore non-responsive devices may result in a shutdown of system 100,unless controller 120 is able to establish a communication channel withthe non-responsive device(s). Propulsor engine 110, controller 120,and/or any other device(s) may be configured to communicate using abackup frequency in the case of a communication failure. The backupfrequency may be a default frequency for the particular non-responsivedevice or, alternatively, the last frequency at which controller 120successfully communicated with the non-responsive device.

In some examples, controller 120 may be configured to determine afrequency for a future communication session on communication channel130 and any other communication channels based on a frequency of acurrent communication session. Controller 120 may be configured todetermine the frequency for the future communication session beforepropulsor engine 110 is powered off to end the current communicationsession. Controller 120 may be configured to communicate the frequencyfor the future communication session to the respective device beforepropulsor engine 110 is powered off. Each device may be configured tostore the frequency for the future communication session and beginoperating at the frequency for the future communication session whenpropulsor engine 110 powers on.

FIG. 4 is a flowchart illustrating an example process implemented by acontroller for communicating with a propulsor engine and/or one or morecomponents of the propulsor engine, in accordance with one or moretechniques of this disclosure. Operations 400-426 are described in thecontext of system 200 and controller 220 of FIG. 2, although othercontrollers, such as controller 120 of FIG. 1, may perform similaroperations.

In the example of FIG. 4, controller 220 may power up system 200including propulsor engine 210 (400). Controller 220 may be configuredto transmit control signals to a starter device to power up propulsorengine 210. In the example of FIG. 4, controller 220 may activate allcommunications in system 200 except external communications (402).Controller 220 may activate communications with propulsor engine 210 andcomponent 260 by transmitting signals at the frequency of the previouscommunication session, which may have concluded the last time thatpropulsor engine 210 was powered down.

In the example of FIG. 4, controller 220 may assign a frequency to eachcommunication type (404). For example, controller 220 may be configuredto assign a first frequency for communication channel 230A based on aprevious frequency for communication channel 230A and assign a secondfrequency for communication channel 230B based on a previous frequencyfor communication channel 230B. In the example of FIG. 4, controller 220may determine that all communication types have not been assigned afrequency (406) and continue to assign frequencies.

In response to determining that all communication types have beenassigned a frequency, controller 220 may validate that communicationtype functions properly with a seed request from each type of device orcomponent (e.g., propulsor engine 210 and component 260) in system 200(408). In some examples, controller 220 may receive seed requests frompropulsor engine 210 and component 260 and may be configured to respondby transmitting seeds to propulsor engine 210 and component 260.Propulsor engine 210 and component 260 may use the seeds to determine anew frequency based on an algorithm stored to memory device 212 and 262.

In the example of FIG. 4, if controller 220 determines thatcommunication channel 230A is not communicating and has been reassignedthree or fewer times, controller 220 may assign another frequency tocommunication channel 230A (410, 412, and 404). If controller 220determines that communication channel 230B is not communicating and hasbeen reassigned more than N times, controller 220 may set acommunication fault for communication channel 230B (410, 412, and 416).In some examples, N may be any integer, such as three, serving as athreshold number of times to reassign the frequency for communicationchannel 230A. The communication fault may be a bit in a status registerthat controller 220 may be configured to transmit to diagnostic device250 in response to a request for diagnostic information. After settingthe communication fault, controller 220 may attempt to communicate withpropulsor engine 210 using a backup frequency (417). The backupfrequency may be a default frequency for propulsor engine 210 or thelast frequency at which controller 220 successfully communicated withpropulsor engine 210.

If, in the example of FIG. 4, controller 220 determines thatcommunication channel 230A is communicating, controller 220 may store adefinition of the active communication channel (e.g., communicationchannel 230A) (410 and 414). The definition may include the establishedfrequency for communication channel 230A.

In the example of FIG. 4, controller 220 may determine that system 200is on the ground and, in response, activate maintenance port 228 (418and 420). If system 200 includes a vehicle as such as aircraft,authorized personnel may perform maintenance on system 200 while on theground. Controller 220 may determine that system 200 is not on theground and, in response, configure system 200 for normal operation (418and 422). In normal operation, propulsor engine 210 may be configured togenerate propulsion for system 200, and component 260 may be configuredto sense the operation of propulsor engine 210 or move a part ofpropulsor engine 210.

In the example of FIG. 4, controller 220 may determine that shutdown hasnot been requested and, in response, continue normal operation (424 and422). If controller 220 determines that shutdown has been requested orif controller 220 has activated maintenance port 228, controller 220 maypower down system 200 (424, 420, and 426). Controller 220 may beconfigured to power down system 200 by reducing the speed of propulsorengine 210 to zero and turning off component 260.

The following numbered examples demonstrate one or more aspects of thedisclosure.

EXAMPLE 1

A system includes a propulsor engine and a controller configured todetermine a frequency for a new communication session on a communicationchannel based on a frequency of a previous communication session,wherein the frequency for the new communication session is differentthan the frequency of the previous communication session. The controlleris further configured to establish the new communication session via thecommunication channel with the propulsor engine. The controller is alsoconfigured to exchange information with the propulsor engine at thefrequency for the new communication session via the communicationchannel.

EXAMPLE 2

The system of example 1, wherein the controller is further configured toexchange information with the propulsor engine during the previouscommunication session via the communication channel and power off thepropulsor engine after exchanging information with the propulsor engineduring the previous communication session. The controller is alsoconfigured to power on the propulsor engine after powering off thepropulsor engine, wherein the controller is configured to exchangeinformation with the propulsor engine at the frequency for the newcommunication session via the communication channel after powering onthe propulsor engine and after determining the frequency for the newcommunication session.

EXAMPLE 3

The system of examples 1-2 or any combination thereof, wherein thecontroller is configured to determine the frequency for the newcommunication session based on an algorithm that includes determining aseed for the new communication session based on a seed for the previouscommunication session. The algorithm also includes applying the seed forthe new communication session to a random number generator or apseudorandom number generator to generate a number for the newcommunication session based on the seed for the new communicationsession. The algorithm further includes determining the frequency forthe new communication session by scaling the number for the newcommunication session to a number between a minimum frequency and amaximum frequency of a predetermined frequency band.

EXAMPLE 4

The system of examples 1-3 or any combination thereof, wherein thepropulsor engine is configured to exchange information with thecontroller during the previous communication session. The controller isalso configured to determine a frequency for the new communicationsession on the communication channel based on the frequency of theprevious communication session and the algorithm. The controller isconfigured to exchange information with the controller at the frequencyfor the new communication session via the communication channel anddecode information received from the controller based on the frequencyfor the new communication session.

EXAMPLE 5

The system of examples 1-4 or any combination thereof, wherein thepropulsor engine is configured to transmit an acknowledgement signal tothe controller in response to receiving information from the controller.The controller is further configured to set a bit indicating a failuremode in response to not receiving the acknowledgement signal from thepropulsor engine.

EXAMPLE 6

The system of examples 1-5 or any combination thereof, wherein thecontroller is configured to determine the frequency for the newcommunication session within a predetermined frequency band. Thecontroller is also configured to transmit control signals to thepropulsor engine at the frequency for the new communication session viathe communication channel, wherein the propulsor engine is furtherconfigured to scan the predetermined frequency band for control signalstransmitted by the controller to the propulsor engine.

EXAMPLE 7

The system of examples 1-6 or any combination thereof, wherein thecommunication channel includes a cable including an optical fiber cableor a metal wire, wherein the controller is configured to exchangeinformation with the propulsor engine at the frequency for the newcommunication session via the cable.

EXAMPLE 8

The system of examples 1-7 or any combination thereof, wherein thecontroller is configured to exchange information with the propulsorengine using a communication protocol.

EXAMPLE 9

The system of examples 1-8 or any combination thereof, wherein the newcommunication session is a first new communication session, wherein theprevious communication session is a first previous communicationsession, wherein the communication channel is a first communicationchannel, and wherein the system further includes a component. Thecontroller is further configured to determine a frequency for a secondnew communication session on a second communication channel based on afrequency of a second previous communication session, wherein thefrequency for the second new communication session is different than thefrequency of the second previous communication session. The controlleris also configured to establish the second new communication session viathe second communication channel with the component and exchangeinformation with the component at the frequency for the second newcommunication session via the second communication channel.

EXAMPLE 10

The system of examples 1-9 or any combination thereof, wherein thecontroller is configured to determine the frequency for the first newcommunication session within a first frequency band, wherein thecontroller is configured to determine the frequency for the second newcommunication session within a second frequency band, wherein the firstfrequency band and the second frequency band are different, and whereinthe second frequency band is particular to a type of the component.

EXAMPLE 11

The system of examples 1-10 or any combination thereof, wherein thecomponent includes a sensor configured to sense the operation of thepropulsor engine, and wherein the controller is configured to determinethe frequency for the second new communication session within afrequency band ranging from three hundred megahertz to four hundredmegahertz.

EXAMPLE 12

The system of examples 1-11 or any combination thereof, wherein thecomponent includes an actuator configured to move a part of thepropulsor engine, and wherein the controller is configured to determinethe frequency for the second new communication session within afrequency band ranging from six megahertz to seven megahertz.

EXAMPLE 13

The system of examples 1-12 or any combination thereof, wherein thecontroller is configured to determine the frequency for the newcommunication session based on an algorithm and a seed number, whereinthe controller is further configured to transmit the seed number to thepropulsor engine at the frequency of the previous communication session,and wherein the propulsor engine is configured to determine thefrequency for the new communication session based on the algorithm andthe seed number.

EXAMPLE 14

The system of examples 1-13 or any combination thereof, furtherincluding a diagnostic device configured to receive diagnosticinformation from a maintenance port of the controller, wherein thecontroller is configured to receive a request for diagnostic informationfrom the diagnostic device, wherein the request includes a passcode. Thecontroller is also configured to confirm that the passcode matches asecurity code for the controller and transmit the diagnostic informationthrough the maintenance port to the diagnostic device in response toconfirming that the passcode matches the security code, wherein thediagnostic information indicates operation of the propulsor engine.

EXAMPLE 15

A method includes determining a frequency for a new communicationsession on a communication channel based on a frequency of a previouscommunication session, wherein the frequency for the new communicationsession is different than the frequency of the previous communicationsession. The method further includes establishing the new communicationsession via the communication channel with a propulsor engine. Themethod also includes exchanging information with the propulsor engine atthe frequency for the new communication session via the communicationchannel.

EXAMPLE 16

The method of example 15, further including exchanging information withthe propulsor engine during the previous communication session via thecommunication channel. The method also includes powering off thepropulsor engine after exchanging information with the propulsor engineduring the previous communication session and powering on the propulsorengine after powering off the propulsor engine, wherein exchanginginformation with the propulsor engine at the frequency for the newcommunication session includes exchanging information with the propulsorengine at the frequency for the new communication session after poweringon the propulsor engine and after determining the frequency for the newcommunication session.

EXAMPLE 17

The method of examples 15-16 or any combination thereof, furtherincluding transmitting information to the propulsor engine at thefrequency for the new communication session via the communicationchannel. The method also includes not receiving an acknowledgementsignal from the propulsor engine after transmitting information to thepropulsor engine at the frequency for the new communication session andsetting a bit indicating failure mode in response to not receiving theacknowledgement signal from the propulsor engine.

EXAMPLE 18

The method of examples 15-17 or any combination thereof, whereinexchanging information with the propulsor engine via the communicationchannel includes exchanging information with the propulsor engine via anoptical fiber cable or a metal wire.

EXAMPLE 19

The method of examples 15-18 or any combination thereof, wherein the newcommunication session is a first new communication session, wherein thecommunication channel is the first communication channel, wherein theprevious communication session is a first previous communicationsession. The method further includes determining a frequency for asecond new communication session on a second communication channel basedon a frequency of a second previous communication session, wherein thefrequency for the second new communication session is different than thefrequency of the second previous communication session. The method alsoincludes establishing the second new communication session via thesecond communication channel with a component and exchanging informationwith the component at the frequency for the second new communicationsession via the second communication channel.

EXAMPLE 20

The method of examples 15-19 or any combination thereof, whereinexchanging information with the component auxiliary device at thefrequency for the second new communication session includes causing asensor to sense monitor operation of the propulsor engine. Determiningthe frequency for the second new communication session includesdetermining the frequency for the second new communication sessionwithin a first frequency band ranging from three hundred megahertz tofour hundred megahertz.

EXAMPLE 21

The method of examples 15-20 or any combination thereof, whereinexchanging information with the component auxiliary device at thefrequency for the second new communication session includes causing anactuator to move a part of the engine. Determining the frequency for thesecond new communication session includes determining the frequency forthe second new communication session within a second frequency bandranging from six megahertz to seven megahertz.

EXAMPLE 22

A system includes a propulsor engine, a component, and a controllerconfigured to exchange information with the propulsor engine during afirst previous communication session via a first communication channel.The controller is further configured to exchange information with thecomponent during a second previous communication session via a secondcommunication channel. The controller is also configured to power offthe propulsor engine after exchanging information with the propulsorengine during the first previous communication session and afterexchanging information with the component during the second previouscommunication session. The controller is configured to power on thepropulsor engine after powering off the propulsor engine and determine afrequency for the first new communication session on the firstcommunication channel based on a frequency of a first previouscommunication session, wherein the frequency for the first newcommunication session is different than the frequency of the firstprevious communication session. The controller is further configured todetermine a frequency for the second new communication session on thesecond communication channel based on a frequency of a second previouscommunication session, wherein the frequency for the second newcommunication session is different than the frequency of the secondprevious communication session. The controller is also configured toexchange information with the propulsor engine at the frequency for thefirst new communication session via the first communication channel andexchange information with the component at the frequency for the secondnew communication session via the second communication channel.

EXAMPLE 23

The system of example 22, wherein the controller is configured todetermine the frequency for the first new communication session within apredetermined frequency band and transmit control signals to thepropulsor engine at the frequency for the first new communicationsession via the first communication channel. The propulsor engine isfurther configured to scan the predetermined frequency band for controlsignals transmitted by the controller to the propulsor engine.

Various examples have been described. These and other examples arewithin the scope of the following claims.

What is claimed is:
 1. A system comprising: a propulsor engine; and a controller configured to: determine a frequency for a new communication session on a communication channel based on a frequency of a previous communication session, wherein the frequency for the new communication session is different than the frequency of the previous communication session; establish the new communication session via the communication channel with the propulsor engine; and exchange information with the propulsor engine at the frequency for the new communication session via the communication channel.
 2. The system of claim 1, wherein the controller is further configured to: exchange information with the propulsor engine during the previous communication session via the communication channel; power off the propulsor engine after exchanging information with the propulsor engine during the previous communication session; and power on the propulsor engine after powering off the propulsor engine, wherein the controller is configured to exchange information with the propulsor engine at the frequency for the new communication session via the communication channel after powering on the propulsor engine and after determining the frequency for the new communication session.
 3. The system of claim 1, wherein the controller is configured to determine the frequency for the new communication session based on an algorithm that includes: determining a seed for the new communication session based on a seed for the previous communication session; applying the seed for the new communication session to a random number generator or a pseudorandom number generator to generate a number for the new communication session based on the seed for the new communication session; and determining the frequency for the new communication session by scaling the number for the new communication session to a number between a minimum frequency and a maximum frequency of a predetermined frequency band.
 4. The system of claim 3, wherein the propulsor engine is configured to: exchange information with the controller during the previous communication session; determine a frequency for the new communication session on the communication channel based on the frequency of the previous communication session and the algorithm; exchange information with the controller at the frequency for the new communication session via the communication channel; and decode information received from the controller based on the frequency for the new communication session.
 5. The system of claim 1, wherein the propulsor engine is configured to transmit an acknowledgement signal to the controller in response to receiving information from the controller, and wherein the controller is further configured to set a bit indicating a failure mode in response to not receiving the acknowledgement signal from the propulsor engine.
 6. The system of claim 1, wherein the controller is configured to: determine the frequency for the new communication session within a predetermined frequency band; and transmit control signals to the propulsor engine at the frequency for the new communication session via the communication channel, wherein the propulsor engine is further configured to scan the predetermined frequency band for control signals transmitted by the controller to the propulsor engine.
 7. The system of claim 1, wherein the communication channel comprises a cable including an optical fiber cable or a metal wire, wherein the controller is configured to exchange information with the propulsor engine at the frequency for the new communication session via the cable.
 8. The system of claim 7, wherein the controller is configured to exchange information with the propulsor engine using a communication protocol.
 9. The system of claim 1, wherein the new communication session is a first new communication session, wherein the previous communication session is a first previous communication session, wherein the communication channel is a first communication channel, wherein the system further comprises a component, and wherein the controller is further configured to: determine a frequency for a second new communication session on a second communication channel based on a frequency of a second previous communication session, wherein the frequency for the second new communication session is different than the frequency of the second previous communication session; establish the second new communication session via the second communication channel with the component; and exchange information with the component at the frequency for the second new communication session via the second communication channel.
 10. The system of claim 9, wherein the controller is configured to determine the frequency for the first new communication session within a first frequency band, wherein the controller is configured to determine the frequency for the second new communication session within a second frequency band, wherein the first frequency band and the second frequency band are different, and wherein the second frequency band is particular to a type of the component.
 11. The system of claim 9, wherein the component includes a sensor configured to sense the operation of the propulsor engine, and wherein the controller is configured to determine the frequency for the second new communication session within a frequency band ranging from three hundred megahertz to four hundred megahertz.
 12. The system of claim 9, wherein the component includes an actuator configured to move a part of the propulsor engine, and wherein the controller is configured to determine the frequency for the second new communication session within a frequency band ranging from six megahertz to seven megahertz.
 13. The system of claim 1, wherein the controller is configured to determine the frequency for the new communication session based on an algorithm and a seed number, wherein the controller is further configured to transmit the seed number to the propulsor engine at the frequency of the previous communication session, and wherein the propulsor engine is configured to determine the frequency for the new communication session based on the algorithm and the seed number.
 14. The system of claim 1, further comprising a diagnostic device configured to receive diagnostic information from a maintenance port of the controller, wherein the controller is configured to: receive a request for diagnostic information from the diagnostic device, wherein the request includes a passcode; confirm that the passcode matches a security code for the controller; and transmit the diagnostic information through the maintenance port to the diagnostic device in response to confirming that the passcode matches the security code, wherein the diagnostic information indicates operation of the propulsor engine.
 15. A method comprising: determining a frequency for a new communication session on a communication channel based on a frequency of a previous communication session, wherein the frequency for the new communication session is different than the frequency of the previous communication session; establishing the new communication session via the communication channel with a propulsor engine; and exchanging information with the propulsor engine at the frequency for the new communication session via the communication channel.
 16. The method of claim 15, further comprising: exchanging information with the propulsor engine during the previous communication session via the communication channel; powering off the propulsor engine after exchanging information with the propulsor engine during the previous communication session; and powering on the propulsor engine after powering off the propulsor engine, wherein exchanging information with the propulsor engine at the frequency for the new communication session comprises exchanging information with the propulsor engine at the frequency for the new communication session after powering on the propulsor engine and after determining the frequency for the new communication session.
 17. The method of claim 15, further comprising: transmitting information to the propulsor engine at the frequency for the new communication session via the communication channel; not receiving an acknowledgement signal from the propulsor engine after transmitting information to the propulsor engine at the frequency for the new communication session; and setting a bit indicating failure mode in response to not receiving the acknowledgement signal from the propulsor engine.
 18. The method of claim 15, wherein the new communication session is a first new communication session, wherein the communication channel is the first communication channel, wherein the previous communication session is a first previous communication session, and wherein the method further comprises: determining a frequency for a second new communication session on a second communication channel based on a frequency of a second previous communication session, wherein the frequency for the second new communication session is different than the frequency of the second previous communication session; establishing the second new communication session via the second communication channel with a component; and exchanging information with the component at the frequency for the second new communication session via the second communication channel.
 19. A system comprising: a propulsor engine; a component; and a controller configured to: exchange information with the propulsor engine during a first previous communication session via a first communication channel; exchange information with the component during a second previous communication session via a second communication channel; power off the propulsor engine after exchanging information with the propulsor engine during the first previous communication session and after exchanging information with the component during the second previous communication session; power on the propulsor engine after powering off the propulsor engine; determine a frequency for the first new communication session on the first communication channel based on a frequency of a first previous communication session, wherein the frequency for the first new communication session is different than the frequency of the first previous communication session; determine a frequency for the second new communication session on the second communication channel based on a frequency of a second previous communication session, wherein the frequency for the second new communication session is different than the frequency of the second previous communication session; exchange information with the propulsor engine at the frequency for the first new communication session via the first communication channel; and exchange information with the component at the frequency for the second new communication session via the second communication channel.
 20. The system of claim 19, wherein the controller is configured to: determine the frequency for the first new communication session within a predetermined frequency band; and transmit control signals to the propulsor engine at the frequency for the first new communication session via the first communication channel, wherein the propulsor engine is further configured to scan the predetermined frequency band for control signals transmitted by the controller to the propulsor engine. 